package com.hawthorn.admin.config;

import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.stereotype.Component;

@Component
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener
{
  public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer)
  {
    super(listenerContainer);
    // 配置springboot默认Config为空，即不让应用去修改redis的默认配置，因为Redis服务出于安全会禁用CONFIG命令给远程用户使用
    setKeyspaceNotificationsConfigParameter("");
  }


  /**
   * Redis失效事件 key
   *
   * @param message
   * @param pattern
   */
  @Override
  public void onMessage(Message message, byte[] pattern)
  {
    System.out.println(message.toString() + " 失效");

    //失效后业务逻辑
  }
}
